<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
    axios
	</body>
  <script src="./axios.min.js"></script>
  <script>
      
    // 不发数据
    // const url = "http://localhost:3000/api/banner";
    // axios.get(url).then(res=>{
    //   console.log(res.data.data)
    // })
    
    // 发数据
    // const url = "http://localhost:3000/api/pro/search";
    // axios.get(url, {
    //   params:{
    //     // 要发送的数据
    //     s: "香水"
    //   }
    // }).then(res=>{
    //   console.log(res.data)
    // })
    
    
    // 不发数据
    // axios.post(url).then(res=>{
    //   console.log(res)
    // })
      
    // 发数据
    // const url = "http://localhost:3000/api/user/register"
    // axios.post(url,{
    //   // 要发送的数据
    //   username:"adin",
    //   password:"123456",
    //   tel:"17600901915",
    //   code:"405502"
    // }).then(res=>{
    //   console.log(res)
    // })
    
    
    
    
    // 自定义axios对象，设置baseUrl，指定当前每次请求的超时时间
    const a = axios.create({
      baseURL:"http://localhost:3000/api",
      timeout:10000
    })
    
    // 请求拦截器：任何axios请求，都会先执行拦截器中的内容
    a.interceptors.request.use(function (config) {
      // 执行发起请求之前的操作
      // 二次添加请求头数据
      console.log(config)
      var img = document.createElement("img")
      img.id = "loading"
      img.src = "loading.jpg"
      document.body.appendChild(img)
      // 添加laoding效果
      return config;
    }, function (error) {
      return Promise.reject(error);
    });
  
    // 响应拦截器:任何axios的响应,都会先执行拦截器中的内容
    a.interceptors.response.use(function (response) {
      // 在请求被响应之后,真正的数据处理之前,先对数据进行验证操作
      if(response.data.code === "400"){
        location.href = "/login.html"
      }
      // 删除loading效果
      document.getElementById("loading").remove();
      return response;
    }, function (error) {
      return Promise.reject(error);
    });
    
    
    // 真实的请求
    const url = "/banner";
    a.get(url).then(res=>{
      console.log(res.data)
    })
    
    
    
    
    
    
  </script>
</html>
